這篇文章會說到JavaScript的運算式及運算子,今天先簡單介紹兩種:
在JavaScript中算術運算子也是我們所熟悉的四則運算(加、減、乘、除),算是非常單純的運算子
,在一些程式語言中也是非常常見的。
+ | 加法 |
---|---|
- | 減法 |
* | 乘法 |
/ | 除法 |
% | 餘數 |
** | 指數 |
++ | 將運算元加 1 |
-- | 將運算元減 1 |
//以最基礎的四則運算做舉例
(1+99)/2 //50
上方舉例為數字加上數字,那如果數字加上字串,會有什麼結果呢?
1+"100" // 1100
當運算時發現其中一方為字串,將會進行「自動轉型」為字串後連接在一起
若遇到特殊數字時,會有什麼結果呢?
Infinity + Infinity //Infinity
-Infinity + -Infinity //-Infinity
-Infinity + Infinity //NaN
而在運算式中若其中一者為NaN,結果將會得到NaN
99+NaN // NaN
若運算式中遇到基本型別ex:布林、undefined、null時JavaScript將會將其轉為number,再進行運算
1+true // 2 運算中true被作為1
1+false // 1 運算中false被作為0
1+undefined // NaN 無法轉為數值
1+null // null為0
用以比較兩側的值,可比較純值、物件、運算式……等,比較後基於比較的結果回傳邏輯值true或false。
< | 少於 |
---|---|
> | 大於 |
<= | 小於等於 |
>= | 大於等於 |
== | 等於 |
=== | 嚴格的等於 |
!= | 不等於 |
!== | 嚴格的布等於 |
2>1 //true
二者都是用於判斷兩個值是否相等
簡單來說就是==的工作量更大一些,因為如果比較的值的型別不同,他就會進行強制型別轉換。也可以稱作比較寬鬆的比較。